'use strict'

alert('Hello,javaScript');

//模版字符串
let name = '小明';
let age = 20;
let message = `你好, ${name}, 你今年${age}岁了!`;
alert(message);

//操作字符串
let s = 'Hello, world!';
s.length; // 13  获取字符串的长度

//要获取字符串某个指定位置的字符，使用类似Array的下标操作，索引号从0开始
s[0]; // 'H'
s[6]; // ' '
s[7]; // 'w'
s[12]; // '!'
s[13]; // undefined 超出范围的索引不会报错，但一律返回undefined

//需要特别注意的是，字符串是不可变的，如果对字符串的某个索引赋值，不会有任何错误，但是，也没有任何效果

//JavaScript为字符串提供了一些常用方法，注意，调用这些方法本身不会改变原有字符串的内容，而是返回一个新字符串
s.toUpperCase(); //变大写
s.toLowerCase(); //变小写
s.indexOf(''); //搜索指定字符串出现的位置
s.substring(); //返回指定索引区间的子串 [)左闭右开

//条件判断
//如果if的条件判断语句结果不是true或false怎么办？例如：
let q = '123';
if (q.length) { // 条件计算结果为3
    //
}
//JavaScript把null、undefined、0、NaN和空字符串''视为false，其他值一概视为true，因此上述代码条件判断的结果是true。
let height = parseFloat(prompt('请输入身高(m)：')); //弹窗式键盘输入
//prompt(title, [defaultText]); prompt 是 JavaScript 中的一个内置函数，用于显示一个对话框，提示用户输入信息。
//parseFloat(string); 是 JavaScript 中的一个内置函数，用于将字符串转换为浮点数
let weight = parseFloat(prompt('请输入体重(kg)：'));

let bmi = weight / (height * height);

if (bmi < 18.5){
    console.log('过轻');
}else if (bmi >= 18.5 && bmi < 25){
    console.log('正常');
}else if (bmi >= 25 && bmi < 28){
    console.log('过重');
}else if (bmi >= 28 && bmi < 32){
    console.log('肥胖');
}else{
    console.log('严重肥胖');
}

var xiaoming = {
    name:'Bob',
    age:20,
    tags:['js','web','mobile'],
    city:'BeiJing',
    hasCar:true,
    'middle-school':'No.1 Middle School', //属性名包含特殊字符（-）,不是一个有效的变量,就需要用个单引号''括起来
    zipcode:null //对象的最后一个属性不加逗号
};
//for...in 循环，它可以把一个对象的所有属性依次循环出来
// 由于Array也是对象，而它的每个元素的索引被视为对象的属性，因此，for ... in循环可以直接循环出Array的索引
//for ... in循环由于历史遗留问题，它遍历的实际上是对象的属性名称。一个Array数组实际上也是一个对象，它的每个元素的索引被视为一个属性。
for (let prop in xiaoming){
    if (xiaoming.hasOwnProperty(prop)){ //过滤掉对象继承的属性
        console.log(prop); //属性
        console.log(xiaoming[prop]); //属性对应的值
    }
}

let letter = ['A','B','C','D'];
for (let i in letter){
    console.log(i);
    console.log(letter[i]);
}

for (let i in arr){
    console.log(`Hello,${arr[i]}`);
}

let len = arr.length;
while(len > 0){
    console.log(`Hello,${arr[arr.length - len]}`);
    len -= 1;
}

